/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.apps.epocket.manager;

import com.apps.epocket.dao.PenggunaDAO;
import com.apps.epocket.model.Pengguna;
import com.google.inject.Inject;
import com.wideplay.warp.persist.Transactional;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 *
 * @author fikri
 */
public class UserManager {
    
    @Inject
    protected com.google.inject.Provider<Session> sessionProvider;
    @Inject private PenggunaDAO penggunaDAO;

    public boolean authenticate(String userId, String password) {
//        String encrypted = encrypt(password);
        Session session = sessionProvider.get();
        Query query = session.createQuery(
                "select p from Pengguna p " +
                "where idPengguna = :userId and password = :password " +
                "and aktif = 'Y'");
        query.setString("userId", userId);
        query.setString("password", password);

        Pengguna user = (Pengguna) query.uniqueResult();
        return user != null;
    }
    
     public List<Pengguna> findAll() {
        String query = "SELECT a FROM Pengguna a WHERE a.idPengguna is not null ";
        Query q = sessionProvider.get().createQuery(query);
        return q.list();
    }   
    
    @Transactional
    public void updatePengguna(Pengguna pengguna) {
        penggunaDAO.saveOrUpdate(pengguna);
    }
    
   @Transactional
    public void deletePengguna(Pengguna p) {
        penggunaDAO.delete(p);
    }
}
